PGetPrivateData(const char * sDeveloperID, const char * sPlugInID, shortcTargetClass,
unsigned long nTypeFlag, unsigned long nTargetID);
const char * sDeveloperID;
Four-character string representing your name or company name (e.g. "ADBE" for Adobe)
const char * sPlugInID;
Four-character string representing plug-in (e.g., "KYLN" for Keyline plug-in)
short cTargetClass;
kClassObject for imported graphics and images, and for PageMaker-drawn lines, boxes, ovals, polygons, or text blocks
kClassStory for stories
kClassPub for publication (current publication only)
kClassPage for page
kClassMaster for master page
unsigned long nTypeFlag;
Identifier you defined to distinguish between types of private data for same cTargetClass (-1 and -2 are notallowed).
unsigned long nTargetID;
Internal PageMaker identifier for element (graphic, image, text block, story, page, or master page) to which private data is associated0 (zero) for publication (PageMaker gets private data for current publication only)
unsigned long nSize;
Size of private data
short cPlatform;
0 for Windows
1 for Macintosh
Handle hPrivateData;
Handle to buffer containing private dataTranslation required: cPlatform. If the publication is transferred to a different platform (e.g., Windows to Macintosh), the plug-in is responsible for translating the data to the byte-order appropriate to the platform.
Exceptions. PGetPrivateData throws an exception if:
Example.
PGetPrivateData privateData("ADBE", "KYLN",
classobject, 0, 15);
const char * ch = MMLock(privateData.hPrivateData);
...
MMFree(privateData.hPrivateData);
The PDeletePrivateData, PPrivateData, and PPrivateString commands
Comments or suggestions? Contact Adobe Developer Support